home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
dev
/
c
/
vbccppcsrc.lha
/
vbcc
/
ar
/
ar.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-03-07
|
3KB
|
82 lines
/* $VER: ar ar.h V0.1 (31.01.98)
*
* This file is part of ar, a portable archive maintanance
* utility for normal and BSD-style archives.
* Copyright (c) 1999 Frank Wille
*
* ar is freeware and part of the portable and retargetable ANSI C
* compiler vbcc, copyright (c) 1995-99 by Volker Barthelmann.
* ar may be freely redistributed as long as no modifications are
* made and nothing is charged for it. Non-commercial usage is allowed
* without any restrictions.
* EVERY PRODUCT OR PROGRAM DERIVED DIRECTLY FROM MY SOURCE MAY NOT BE
* SOLD COMMERCIALLY WITHOUT PERMISSION FROM THE AUTHOR.
*
*
* v0.1 (31.01.99) phx
* First working version, which only supports 'q' (quick append)
* and 't' (table of contents), reads and writes normals and
* BSD-style archives. Symbol table will not be created!
* v0.0 (29.01.99) phx
* File created.
*/
/* version/revision */
#define PNAME "ar"
#define VERSION 0
#define REVISION 1
#define PLEVEL 0
/* integer types */
#if defined (TYPES32BIT)
typedef signed char int8;
typedef unsigned char uint8;
typedef signed short int int16;
typedef unsigned short int uint16;
typedef signed long int int32;
typedef unsigned long int uint32;
typedef signed char bool;
#elif defined (TYPES64BIT)
typedef signed char int8;
typedef unsigned char uint8;
typedef signed short int16;
typedef unsigned short uint16;
typedef signed int int32;
typedef unsigned int uint32;
typedef int bool;
#else
#error Unsupported architecture! Define either TYPES32BIT or TYPES64BIT.
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#endif
/* modifier flags */
#define AR_BEFORE 0x0001 /* insert before position */
#define AR_AFTER 0x0002 /* insert after position */
#define AR_UPDATE 0x0004 /* replace/extract only when newer */
#define AR_PRESERVE 0x0008 /* preserve permissions and time on extract */
#define AR_CREATIGN 0x0010 /* no message when creating a new archive */
#define AR_TRUNC 0x0100 /* truncate file names > 15 chars */
#define AR_BSD 0x0200 /* write BSD format symbol names */
#define AR_VERBOSE 0x8000 /* verbose output */
#define AR_POS 0x0003 /* position mask */
struct Args {
char *arname; /* archive name */
char **files; /* ptr to filecnt file names (may be NULL) */
char *position; /* position file name (may be NULL) */
uint32 modifier; /* modifier flags */
int filecnt; /* number of files */
};